package grafo;

import java.awt.Color;

public class Arco implements Comparable<Arco>{
	
	private Nodo origen, destino;
	private int peso;
	private Color color;

	public Arco(Nodo o, Nodo d, int p){
		origen = o;
		destino = d;
		peso = p; 
		color = Color.BLACK;
	}
	
	public boolean equals(Object o) {
		if (o == this) return true;
	    if (!(o instanceof Arco)) return false;
	    Arco a = (Arco) o;
		return (origen == a.getOrigen() && destino == a.getDestino());
	}
	
	public int hashCode(){
		int hash = 1;
		hash = 31 * hash + ((origen != null) ? origen.hashCode() : 0);
		hash = 31 * hash + ((destino != null) ? destino.hashCode() : 0);
		return hash;
	}
	@Override
	public int compareTo(Arco a) {
		if (peso > a.peso)
			return 1;
		else if (peso == a.peso)
			return 0;
		else
			return -1;
	}

	public int getPeso() {
		return peso;
	}

	public void setPeso(int peso) {
		this.peso = peso;
	}

	public Nodo getDestino() {
		return destino;
	}

	public void setDestino(Nodo destino) {
		this.destino = destino;
	}

	public Color getColor() {
		return color;
	}

	public void setColor(Color color) {
		this.color = color;
	}

	public Nodo getOrigen() {
		return origen;
	}

	public void setOrigen(Nodo origen) {
		this.origen = origen;
	}
	

}
